/**
 * 用户角色关联实体定义
 * @description 定义用户与角色关联关系的数据结构和属性
 */
export interface SysUserRole extends Record<string, unknown> {
  /** 关联ID */
  id: number;
  /** 用户ID */
  user_id: number;
  /** 角色ID */
  role_id: number;
  /** 创建时间 */
  time: number;
  /** 更新时间 */
  update_time: number;
  /** 是否删除 (0:未删除 1:已删除) */
  disabled: number;
}

/**
 * 创建用户角色关联时的数据类型
 * @description 排除id字段的关联数据
 */
export type CreateSysUserRoleDto = Omit<SysUserRole, 'id'>;

/**
 * 更新用户角色关联时的数据类型
 * @description 排除id和time字段的部分关联数据
 */
export type UpdateSysUserRoleDto = Partial<Omit<SysUserRole, 'id' | 'time'>>;

/**
 * 查询用户角色关联时的数据类型
 * @description 用于查询条件的部分字段
 */
export type SysUserRoleQueryDto = Partial<Pick<SysUserRole, 'user_id' | 'role_id' | 'disabled'>>;
